package net.xuele.learn.mytomcat.origin;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @Author: yubo
 * @date: 19:08 2020/11/16
 * @Description: 类描述：题外话：tomcat不用jar包不是是因为无法知道这个jar是依赖还是一个应用，且看HostConfig类中的deployApps方法
 */

public class DemoServlet extends HttpServlet {


    /**
     * 1、由谁来调用doGet方法呢？
     *      这个doGet方法是Servlet规范，所以自然也是由tomcat来调用的，实际上调用的是service方法；
     *      见javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     * 2、入参HttpServletRequest是一个接口，实现类是谁呢？
     *      同理HttpServletRequest也是tomcat的规范，在tomcat容器中，则这个实现类是由tomcat来实现的；
     *      见：{@link org.apache.catalina.connector.RequestFacade}、{@link org.apache.catalina.connector.Request}
     *      那么Request对象时怎么生成的呢？也就是说是在哪一步构建这个对象的呢？
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}
